home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / network / nsclilib / ni_msg.asn < prev    next >
Text File  |  1996-07-05  |  7KB  |  207 lines

  1. --$Revision: 4.0 $
  2. -- ===========================================================================
  3. --
  4. --                            PUBLIC DOMAIN NOTICE                          
  5. --               National Center for Biotechnology Information
  6. --                                                                          
  7. --  This software/database is a "United States Government Work" under the   
  8. --  terms of the United States Copyright Act.  It was written as part of    
  9. --  the author's official duties as a United States Government employee and 
  10. --  thus cannot be copyrighted.  This software/database is freely available 
  11. --  to the public for use. The National Library of Medicine and the U.S.    
  12. --  Government have not placed any restriction on its use or reproduction.  
  13. --                                                                          
  14. --  Although all reasonable efforts have been taken to ensure the accuracy  
  15. --  and reliability of the software and data, the NLM and the U.S.          
  16. --  Government do not and cannot warrant the performance or results that    
  17. --  may be obtained by using this software or data. The NLM and the U.S.    
  18. --  Government disclaim all warranties, express or implied, including       
  19. --  warranties of performance, merchantability or fitness for any particular
  20. --  purpose.                                                                
  21. --                                                                          
  22. --  Please cite the author in any work or product based on this material.   
  23. --
  24. -- ===========================================================================
  25. --
  26. -- File Name:    ni_msg.asn
  27. --
  28. -- Author:    Beatty, Gish, Epstein
  29. --
  30. -- Version Creation Date:    1/1/92
  31. --
  32. -- File Description: 
  33. --        ASN.1 message header
  34. --
  35. -- Modifications:  
  36. -- ==========================================================================
  37. -- Date     Name        Description of modification
  38. -- =======  ==========  =====================================================
  39. -- 5/12/92  Epstein     Added type to SVC-Entry
  40. --
  41. --
  42. -- ==========================================================================
  43.  
  44.  
  45. NCBI-MESSAGE DEFINITIONS ::=
  46. BEGIN
  47.  
  48. EXPORTS SVC-Entry, RES-Entry, Toolset, Identity, Request, MSG-ACK, MSG-NACK, MSG-Login, MSG-SVC-List, 
  49.     MSG-SVC-Request, MSG-SVC-Response, MSG-Cmd, MSG-Acct, MSG-Catalog, Message;
  50.  
  51. SVC-Entry ::= SEQUENCE {
  52.     name        VisibleString, -- name of service
  53.     minvers        INTEGER, -- minimum legal version
  54.     maxvers        INTEGER, -- maximum legal version
  55.     id        INTEGER    OPTIONAL, -- ID that is unique on host
  56.     priority    INTEGER    OPTIONAL, -- priority of service
  57.     group        VisibleString OPTIONAL, -- group with access to service
  58.     description    VisibleString OPTIONAL,  -- description of service
  59.     types            SET OF VisibleString OPTIONAL, -- types of allowed resources
  60.     priority-timeout INTEGER OPTIONAL, -- priority penalization timeout
  61.     priority-penalty INTEGER OPTIONAL, -- penalty exacted after timeout
  62.     encryption-supported BOOLEAN OPTIONAL, -- service supports encryption
  63.     tracking-period INTEGER OPTIONAL,  -- time period (minutes) to track service
  64.     tracking-count INTEGER OPTIONAL    -- # service requests during tracking-period from this IP
  65.  
  66. }
  67.  
  68. RES-Entry ::= SEQUENCE {
  69.     name        VisibleString, -- name of resource
  70.     type        VisibleString, -- type of resource
  71.     minvers        INTEGER, -- minimum legal version
  72.     maxvers        INTEGER, -- maximum legal version
  73.     id        INTEGER    OPTIONAL, -- ID that is unique on host
  74.     group        VisibleString OPTIONAL, -- group with access to service
  75.     description    VisibleString OPTIONAL  -- description of service
  76. }
  77.  
  78. Region-Descr ::= SEQUENCE {
  79.     region-name    VisibleString,         -- name describing region
  80.     priority-delta  INTEGER OPTIONAL        -- priority incentive for client
  81. }
  82.  
  83. Toolset ::= SEQUENCE {
  84.     host        VisibleString,         -- name of host
  85.     motd        VisibleString OPTIONAL, -- message of the day on host
  86.     services    SET OF SVC-Entry OPTIONAL,
  87.     resources    SET OF RES-Entry OPTIONAL,
  88.     regions         SET OF Region-Descr OPTIONAL
  89. }
  90.  
  91. Identity ::= SEQUENCE {
  92.     username    VisibleString, -- kerberos principle
  93.     group        VisibleString OPTIONAL, -- kerberos instance
  94.     domain        VisibleString OPTIONAL -- kerberos realm
  95. }
  96.  
  97. RSA-Pubkey ::= SEQUENCE {
  98.     bits INTEGER,
  99.     modulus OCTET STRING,
  100.     exponent OCTET STRING
  101. }
  102.  
  103. Dispatcher-Info ::= SEQUENCE {
  104.     serial-no INTEGER, -- unique ID assoc w/disp list
  105.     is-alternate-list BOOLEAN, -- is this an alternate dispatcher list?
  106.     num-dispatchers INTEGER,
  107.     disp-list       SEQUENCE OF VisibleString,
  108.     pub-key         RSA-Pubkey OPTIONAL
  109. }
  110.  
  111. Request ::= SEQUENCE {
  112.     address        VisibleString OPTIONAL,     -- client internet address
  113.     port        INTEGER OPTIONAL,        -- client contact port
  114.     svcentry    SVC-Entry,            -- service requested
  115.     resentry    SET OF RES-Entry OPTIONAL    -- resources requested
  116. }
  117.  
  118. MSG-ACK ::= SEQUENCE {
  119.     seqno        INTEGER, -- sequence number of the acked message
  120.     disp-info       Dispatcher-Info OPTIONAL,
  121.     admin-info    VisibleString OPTIONAL,
  122.     motd        VisibleString OPTIONAL
  123. }
  124.  
  125. MSG-NACK ::= SEQUENCE {
  126.     seqno        INTEGER, -- sequence number of the nacked message
  127.     code        INTEGER, -- exception code, (-1) means nonspecific error
  128.     reason        VisibleString OPTIONAL , -- human-readable explanation
  129.     disp-info       Dispatcher-Info OPTIONAL
  130. }
  131.  
  132. MSG-Login ::= SEQUENCE {
  133.     seqno        INTEGER, -- sequence number
  134.     uid        Identity,
  135.     password    VisibleString OPTIONAL, -- should be encrypted
  136.     disp-serial-no INTEGER OPTIONAL, -- unique ID assoc w/disp list
  137.     encryption-desired BOOLEAN OPTIONAL,
  138.     pub-key         RSA-Pubkey OPTIONAL,
  139.     des-key         OCTET STRING OPTIONAL, -- from ncbid only
  140.     connect-delay    INTEGER OPTIONAL -- connect delay when contacting Disp
  141. }
  142.  
  143. MSG-SVC-List ::= SEQUENCE {
  144.     seqno        INTEGER,     -- sequence number
  145.     toollist    Toolset,    -- one set
  146.     knows-tracking    BOOLEAN OPTIONAL -- aware of tracking-count/periods
  147. }
  148.  
  149. MSG-SVC-Request ::= SEQUENCE {
  150.     seqno        INTEGER,     -- sequence number
  151.     conid        INTEGER,     -- connection number for client accounting
  152.     uid        Identity,    -- client user ID struct
  153.     request        Request,    -- client address and request
  154.     platform        INTEGER OPTIONAL,      -- client's platform
  155.     appl-id         VisibleString OPTIONAL, -- identifies client application
  156.     des-key         OCTET STRING OPTIONAL, -- DES key to be used for session (key is encrypted using RSA)
  157.     want-pre-response BOOLEAN OPTIONAL, -- If TRUE, requesting MSG-SVC-Pre-Response
  158.     server-ip    INTEGER    OPTIONAL  -- IP address of server machine
  159. }
  160.  
  161. MSG-SVC-Response ::= SEQUENCE {
  162.     seqno        INTEGER,     -- sequence number
  163.     request        Request        -- client address and request
  164. }
  165.  
  166. MSG-SVC-Pre-Response ::= SEQUENCE {
  167.     seqno        INTEGER,     -- sequence number
  168.     server-ip    INTEGER        -- IP address of server machine
  169. }
  170.  
  171. MSG-Cmd ::= SEQUENCE {
  172.     seqno        INTEGER,     -- sequence number
  173.     command        INTEGER
  174. }
  175.  
  176. MSG-Acct ::= SEQUENCE {
  177.     seqno        INTEGER,     -- sequence number
  178.     conid        INTEGER,     -- connection number of client
  179.     jobname        VisibleString,
  180.     usertime    INTEGER,
  181.     systemtime    INTEGER
  182. }
  183.  
  184. MSG-Catalog ::= SEQUENCE {
  185.     seqno        INTEGER,        -- sequence number
  186.     motd        VisibleString OPTIONAL,    -- message of the day
  187.     toollists    SET OF Toolset OPTIONAL    -- one set for each ncbid
  188. }
  189.  
  190. Message    ::= CHOICE {
  191.     ack        MSG-ACK,
  192.     nack        MSG-NACK,
  193.     login        MSG-Login,
  194.     svc-list    MSG-SVC-List,
  195.     svc-request    MSG-SVC-Request,
  196.     svc-response    MSG-SVC-Response,
  197.     command        MSG-Cmd,
  198.     acct        MSG-Acct,
  199.     catalog        MSG-Catalog,
  200.     svc-pre-response MSG-SVC-Pre-Response
  201. }
  202.  
  203. END
  204.  
  205.  
  206.  
  207.